package org.ccay.security.annotation;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.METHOD,ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface SecurityOperation {
	public static final String ATTR_CODE = "code";
	public static final String ATTR_NAME = "name";
	public static final String ATTR_POLICY ="policy";
	public static final String ATTR_DESC = "desc";
	public abstract String code();
	public abstract String name() default "";
	public abstract SecurityPolicy policy() default SecurityPolicy.Required;
	public abstract String desc() default "";
}
